Skip to content

Commit

Permalink
feat: Add corporate card transactions exports api docs (#575)
Browse files Browse the repository at this point in the history
* cct exports api doc

* Auto generate API docs

---------

Co-authored-by: Siva <[email protected]>
  • Loading branch information
madangopal122 and snarayanank2 authored Nov 7, 2024
1 parent a65e9f3 commit c2ed4bb
Show file tree
Hide file tree
Showing 5 changed files with 471 additions and 0 deletions.
232 changes: 232 additions & 0 deletions reference/admin.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9656,6 +9656,191 @@ components:
- matched_expenses
- last_user_matched_at
- metadata
corporate_card_transactions_export_config_column_formula:
type: object
properties:
function:
type: string
example: parse-format-time
parameters:
type: array
items:
anyOf:
- type: object
- type: string
- type: number
- type: integer
- type: boolean
example:
- function: field
parameters:
- spent_at
- yyyy-MM-dd'T'HH:mm:ss
- dd-MM-yyyy
- error in date formatting
description: |
Export column formula is a expression that is used to transform the data. Refer https://help.fylehq.com/en/articles/4422306-advanced-export-formulas for more details.
corporate_card_transactions_export_config:
type: object
additionalProperties: true
properties:
type:
type: string
enum:
- xlsx
- csv
description: |
Type of the export file.
example: csv
is_header_visible:
type: boolean
description: |
Whether to show the header in the export file. Only required for CSV and XLSX exports.
example: true
separate_line_items_entry:
type: object
properties:
enabled:
type: boolean
description: |
Whether to show the double rows for each line item in the export file.
example: false
debit_entries_only:
type: array
items:
type: string
description: |
Configure which columns to show for debit entries.
example:
- debit_amount
credit_entries_only:
type: array
items:
type: string
description: |
Configure which columns to show for credit entries.
example:
- credit_amount
description: |
Configure how to show the double rows for each line item in the export file, if enabled. Only required for CSV and XLSX exports.
columns:
type: array
items:
type: object
properties:
name:
type: string
description: |
Name of the column.
example: Spent Date
formula:
allOf:
- $ref: '#/components/schemas/corporate_card_transactions_export_config_column_formula'
description: |
Formula to transform the data in the column.
description: |
Configure the columns to show in the export file. Only required for CSV and XLSX exports.
corporate_card_transactions_exports_in:
type: object
additionalProperties: false
required:
- query_params
- notify_emails
- config
properties:
query_params:
allOf:
- $ref: '#/components/schemas/query_params'
nullable: false
notify_emails:
type: array
nullable: false
items:
$ref: '#/components/schemas/email'
description: |
List of emails to notify when the export is ready.
config:
allOf:
- $ref: '#/components/schemas/corporate_card_transactions_export_config'
nullable: false
description: |
Configuration for the export.
processed_at:
type: string
format: date-time
nullable: true
description: |
Signifies when this was processed in [ISO8601 format](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14).
example: '2020-06-11T13:14:55.201598+00:00'
completed_at:
type: string
format: date-time
nullable: true
description: |
Signifies when this was completed in [ISO8601 format](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14).
example: '2020-06-11T13:14:55.201598+00:00'
failed_at:
type: string
format: date-time
nullable: true
description: |
Signifies when this was failed in [ISO8601 format](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14).
example: '2020-06-11T13:14:55.201598+00:00'
corporate_card_transactions_exports_out:
type: object
additionalProperties: false
properties:
created_at:
$ref: '#/components/schemas/created_at'
updated_at:
$ref: '#/components/schemas/updated_at'
id:
allOf:
- $ref: '#/components/schemas/id_string'
example: refilumWHrlPf7K
org_id:
$ref: '#/components/schemas/org_id'
user_id:
$ref: '#/components/schemas/user_id'
query_params:
allOf:
- $ref: '#/components/schemas/query_params'
nullable: false
notify_emails:
type: array
nullable: false
items:
$ref: '#/components/schemas/email'
config:
allOf:
- $ref: '#/components/schemas/corporate_card_transactions_export_config'
nullable: false
file_id:
anyOf:
- $ref: '#/components/schemas/null_field'
- $ref: '#/components/schemas/id_string'
nullable: true
example: filumVIrlPf7K
state:
type: string
nullable: false
enum:
- PENDING
- PROCESSING
- COMPLETED
- FAILED
description: |
Status of the export.
example: PENDING
processed_at:
$ref: '#/components/schemas/processed_at'
nullable: true
completed_at:
$ref: '#/components/schemas/completed_at'
nullable: true
failed_at:
$ref: '#/components/schemas/failed_at'
nullable: true
virtual_card_out:
type: object
properties:
Expand Down Expand Up @@ -21206,6 +21391,53 @@ paths:
application/json:
schema:
$ref: '#/components/schemas/404'
/admin/corporate_card_transactions/exports:
post:
tags:
- Corporate Card Transactions
summary: Create Corproate Card Transactions Export
description: |
Create Corporate Card Transactions Export Request.
operationId: corporate_card_transactions_exports_post
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/corporate_card_transactions_exports_in'
required:
- data
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/corporate_card_transactions_exports_out'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/400'
'401':
description: Unauthorized request
content:
application/json:
schema:
$ref: '#/components/schemas/401'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/403'
/admin/virtual_cards:
get:
tags:
Expand Down
2 changes: 2 additions & 0 deletions src/admin/openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -353,6 +353,8 @@ paths:
$ref: paths/admin@[email protected]
/admin/corporate_card_transactions/unmatch:
$ref: paths/admin@[email protected]
/admin/corporate_card_transactions/exports:
$ref: paths/admin@[email protected]

/admin/virtual_cards:
$ref: paths/admin@virtual_cards.yaml
Expand Down
46 changes: 46 additions & 0 deletions src/admin/paths/admin@[email protected]
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
post:
tags:
- Corporate Card Transactions
summary: Create Corproate Card Transactions Export
description: |
Create Corporate Card Transactions Export Request.
operationId: corporate_card_transactions_exports_post
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
data:
$ref: '../../components/schemas/corporate_card_transactions_exports.yaml#/corporate_card_transactions_exports_in'
required:
- data
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
data:
$ref: '../../components/schemas/corporate_card_transactions_exports.yaml#/corporate_card_transactions_exports_out'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '../../components/schemas/400.yaml'
'401':
description: Unauthorized request
content:
application/json:
schema:
$ref: '../../components/schemas/401.yaml'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '../../components/schemas/403.yaml'
Loading

0 comments on commit c2ed4bb

Please sign in to comment.