openapi: 3.0.1 info: title: Routable Companies Contacts API description: Specification of the Routable v1 REST API for B2B payments, accounts payable and receivable automation, and mass payouts. Manage vendor and customer companies, contacts, payment methods, funding accounts, payables, receivables, and webhook events. All requests are JSON over HTTPS and authenticated with a Bearer API token. termsOfService: https://www.routable.com/terms-of-service/ contact: name: Routable Support url: https://developers.routable.com/docs version: '1.0' servers: - url: https://api.routable.com/v1 description: Production security: - bearerAuth: [] tags: - name: Contacts description: Contacts associated with companies. paths: /contacts: get: operationId: listContacts tags: - Contacts summary: List contacts parameters: - $ref: '#/components/parameters/Limit' - $ref: '#/components/parameters/StartingAfter' responses: '200': description: A list of contacts. content: application/json: schema: $ref: '#/components/schemas/ContactList' post: operationId: createContact tags: - Contacts summary: Create a contact requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ContactCreate' responses: '201': description: The created contact. content: application/json: schema: $ref: '#/components/schemas/Contact' /contacts/{id}: parameters: - $ref: '#/components/parameters/IdPath' get: operationId: retrieveContact tags: - Contacts summary: Retrieve a contact responses: '200': description: The requested contact. content: application/json: schema: $ref: '#/components/schemas/Contact' patch: operationId: updateContact tags: - Contacts summary: Update a contact requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ContactCreate' responses: '200': description: The updated contact. content: application/json: schema: $ref: '#/components/schemas/Contact' components: parameters: Limit: name: limit in: query required: false description: Maximum number of records to return per page. schema: type: integer default: 25 StartingAfter: name: starting_after in: query required: false description: Cursor for pagination; the id of the last record on the previous page. schema: type: string IdPath: name: id in: path required: true description: The unique identifier of the resource. schema: type: string schemas: Contact: type: object properties: id: type: string company: type: string description: The id of the company this contact belongs to. first_name: type: string last_name: type: string email: type: string format: email phone: type: string date_created: type: string format: date-time ContactList: type: object properties: data: type: array items: $ref: '#/components/schemas/Contact' pagination: $ref: '#/components/schemas/Pagination' ContactCreate: type: object required: - company - email properties: company: type: string first_name: type: string last_name: type: string email: type: string format: email phone: type: string Pagination: type: object properties: count: type: integer next: type: string nullable: true previous: type: string nullable: true securitySchemes: bearerAuth: type: http scheme: bearer description: 'API token presented as `Authorization: Bearer {your_token}`. Generate tokens in the Routable dashboard. A sandbox environment is available for testing without moving real money.'