openapi: 3.2.0 info: title: FISĀ® Accounting Data as a Serviceā„¢ Contact Controller V2 API description: What's changed in our API version: v2 contact: {} servers: - url: https://api.railz.ai description: Main (production) API server tags: - name: ContactControllerV2 paths: /v2/accounting/contacts: get: description: '**Supported for:** `xero`' operationId: contacts parameters: - name: connectionUuid required: true in: query description: Unique connection identifier. schema: example: CON-396d5daa-26b2-4979-89b6-cafb2c298155 type: string - name: offset required: false in: query description: The offset is the position in the dataset of a particular record. schema: format: integer type: number - name: limit required: false in: query description: 'This is the size of the results set you would like (default: 100).' schema: format: integer example: 100 type: number - name: orderBy required: false in: query schema: type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/GetContactResponseDto' '202': description: Data in pending state content: application/json: schema: $ref: '#/components/schemas/GetContactResponseDto' '204': description: No data available '400': description: Bad Request Error - Thrown if fields sent via query does not follow specifications content: application/json: schema: $ref: '#/components/schemas/Error400ResponseDtoV2' '401': description: Unauthorized - Not logged in or log in expired content: application/json: schema: $ref: '#/components/schemas/Error401ResponseDto' '403': description: Forbidden - Not enough permission content: application/json: schema: $ref: '#/components/schemas/Error403ResponseDto' '500': description: Server Error content: application/json: schema: $ref: '#/components/schemas/Error500ResponseDto' security: - bearer: [] summary: List Contacts tags: - ContactControllerV2 components: schemas: Error403ResponseDto: type: object properties: error: readOnly: true allOf: - $ref: '#/components/schemas/Error403Dto' payload: type: object readOnly: true example: {} required: - error - payload BankAccountRef: type: object properties: id: type: string example: '200' Error401Dto: type: object properties: statusCode: type: number readOnly: true example: 401 message: readOnly: true example: - Unauthorized type: array items: type: string error: type: string readOnly: true example: Unauthorized required: - statusCode - message - error ShippingAddress: type: object properties: line1: type: string example: 1234 Park Street line2: type: string example: Suite 1000 city: type: string example: Toronto region: type: string example: 'ON' country: type: string example: CAN postalCode: type: string example: A0B1C2 Error500Dto: type: object properties: error: type: string readOnly: true example: Internal Server Error message: readOnly: true example: - INTERNAL_ERROR type: array items: type: string statusCode: type: number readOnly: true example: 500 required: - error - message - statusCode Error400DtoV2: type: object properties: statusCode: type: number readOnly: true example: 400 message: readOnly: true example: - connectionUuid should not be empty type: array items: type: string error: type: string readOnly: true example: Bad Request required: - statusCode - message - error Error403Dto: type: object properties: statusCode: type: number readOnly: true example: 403 message: readOnly: true example: - Forbidden resource type: array items: type: string error: type: string readOnly: true example: Forbidden required: - statusCode - message - error BillingAddress: type: object properties: line1: type: string example: 1234 Park Street line2: type: string example: Suite 1000 city: type: string example: Toronto region: type: string example: 'ON' country: type: string example: CAN postalCode: type: string example: A0B1C2 Error401ResponseDto: type: object properties: error: readOnly: true allOf: - $ref: '#/components/schemas/Error401Dto' payload: type: object readOnly: true example: {} required: - error - payload GetContactResponseDto: type: object properties: pagination: $ref: '#/components/schemas/PaginationMetaData' meta: $ref: '#/components/schemas/ListReportMetaDataV2' data: type: array items: $ref: '#/components/schemas/GetContactData' required: - pagination - meta - data PaginationMetaData: type: object properties: offset: type: number readOnly: true limit: type: number readOnly: true count: type: number readOnly: true required: - offset - limit - count Error400ResponseDtoV2: type: object properties: error: readOnly: true allOf: - $ref: '#/components/schemas/Error400DtoV2' payload: type: object readOnly: true required: - error - payload ContactPerson: type: object properties: name: type: string example: John Smith email: type: string example: jsmith@company.com ListReportMetaDataV2: type: object properties: connectionUuid: type: string readOnly: true example: CON-396d5daa-26b2-4979-89b6-cafb2c298155 businessName: type: string readOnly: true example: Railz serviceName: type: string readOnly: true example: xero enum: - freshbooks - quickbooks - quickbooksDesktop - xero - oracleNetsuite - sageBusinessCloud - sageIntacct - dynamicsBusinessCentral - dynamics365Finance - wave - myob - zohoBooks - byod reportId: readOnly: true example: - 5fad8a342a88364234392fb5 - 5fad8a342a88364234392fb6 type: array items: type: string createdAt: type: string readOnly: true example: '2020-11-25T01:02:03Z' format: date-time updatedAt: type: string example: '2020-11-30T01:02:03Z' format: date-time readOnly: false required: - connectionUuid - businessName - serviceName - reportId - createdAt - updatedAt GetContactData: type: object properties: id: type: string example: '1' contactName: type: string example: Jane Smith contactFirstName: type: string example: Jane contactLastName: type: string example: Smith emailAddress: type: string example: email@acme.com bankAccountRef: $ref: '#/components/schemas/BankAccountRef' website: type: string example: www.acme.com currency: type: string example: USD phone: type: string example: '8889990000' billingAddress: $ref: '#/components/schemas/BillingAddress' shippingAddress: $ref: '#/components/schemas/ShippingAddress' contacts: type: array items: $ref: '#/components/schemas/ContactPerson' taxNumber: type: string example: '987654321' status: type: string enum: - unknown - active - archived balance: type: number example: 0 format: float contactType: type: string enum: - unknown - customer - vendor example: customer sourceModifiedDate: type: string example: '2021-03-09T08:49:36.035Z' required: - id Error500ResponseDto: type: object properties: error: readOnly: true allOf: - $ref: '#/components/schemas/Error500Dto' payload: type: object readOnly: true required: - error - payload securitySchemes: bearer: scheme: bearer bearerFormat: JWT type: http