openapi: 3.2.0 info: title: Firstpromoter Contract Documents API version: '1.0' description: 'Operations tagged Contract Documents across 2 of this provider''s published API definitions: firstpromoter-v2-affiliate-contract-documents-openapi.yml, firstpromoter-v2-contract-documents-openapi.yml. Each path carries the servers of the definition it was published in.' servers: - url: https://api.firstpromoter.com/api/v2/affiliate - url: https://api.firstpromoter.com/api/v2/company security: - BearerAuth: [] tags: - name: Contract Documents paths: /contract_documents: get: summary: Get current version contract documents description: "Returns the current contract document \n **HTTP Request**
` GET https://api.firstpromoter.com/api/v2/affiliate/contract_documents`
" tags: - Contract Documents parameters: - $ref: '#/components/parameters/AccountId' responses: '200': description: List of contract documents content: application/json: schema: type: array items: $ref: '#/components/schemas/ContractDocument' '401': description: Unauthorized '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' servers: - url: https://api.firstpromoter.com/api/v2/affiliate /contract_documents/{id}: get: summary: Get contract documents by id (html/pdf) description: "Gets contract document and returns it in the selected format \n **HTTP Request**
` GET https://api.firstpromoter.com/api/v2/affiliate/contract_documents/{id}`
" tags: - Contract Documents parameters: - $ref: '#/components/parameters/AccountId' - name: id in: path required: true schema: type: integer description: Contract document ID - name: content_type in: query required: true schema: type: string enum: - html - pdf description: Format of the document content responses: '200': description: Document content content: application/json: schema: type: object properties: data: type: object properties: content: type: string application/pdf: schema: type: string format: binary '401': description: Unauthorized '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' '422': description: Invalid parameters content: application/json: schema: $ref: '#/components/schemas/Error' servers: - url: https://api.firstpromoter.com/api/v2/affiliate /contract_documents/{id}/sign: post: summary: Sign a document with id description: "Signs a contract document with id \n **HTTP Request**
` GET https://api.firstpromoter.com/api/v2/affiliate/contract_documents/{id}/sign`
" tags: - Contract Documents parameters: - $ref: '#/components/parameters/AccountId' - name: id in: path required: true schema: type: integer description: Contract document ID requestBody: required: true content: application/json: schema: type: object properties: ip: type: string description: IP address of the signer responses: '200': description: Signed document content: application/json: schema: $ref: '#/components/schemas/ContractDocument' '400': description: Invalid IP format content: application/json: schema: $ref: '#/components/schemas/ValidationError' '401': description: Unauthorized '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' servers: - url: https://api.firstpromoter.com/api/v2/affiliate /contract_documents/draft: post: parameters: - $ref: '#/components/parameters/AccountId' summary: Get the draft content of the contract description: "Returns the draft content of the contract with user details \n **HTTP Request**
` GET https://api.firstpromoter.com/api/v2/affiliate/contract_documents/draft`
" tags: - Contract Documents requestBody: required: true content: application/json: schema: type: object properties: contract_id: type: integer description: ID of the contract details: type: object description: User details to parse properties: email: type: string profile: type: object properties: first_name: type: string responses: '200': description: Draft content content: application/json: schema: type: object properties: content: type: string '404': description: Contract not found content: application/json: schema: $ref: '#/components/schemas/Error' servers: - url: https://api.firstpromoter.com/api/v2/affiliate components: schemas: Promoter: type: object properties: id: type: integer email: type: string name: type: string profile: type: object properties: avatar: type: string ContractDocument: type: object properties: id: type: integer status: type: string enum: - signed signed_ip: type: string contract_version_id: type: integer signed_at: type: string format: date-time promoter: $ref: '#/components/schemas/Promoter' contract_version: $ref: '#/components/schemas/ContractVersion' contract: $ref: '#/components/schemas/Contract' ValidationError: type: object properties: message: type: string errors: type: object additionalProperties: type: array items: type: string code: type: string Error: type: object properties: message: type: string code: type: string ContractVersion: type: object properties: added_at: type: string format: date-time changes_made: type: - string - 'null' external_link: type: - string - 'null' content_hosted: type: boolean Contract: type: object properties: id: type: integer name: type: string DocumentSorting: type: object properties: created_at: type: string enum: - asc - desc signed_at: type: string enum: - asc - desc DocumentFilters: type: object properties: status: type: string enum: - pending - signed promoter_id: type: integer contract_id: type: integer parameters: AccountId: name: Account-ID in: header required: true description: Account identifier that specifies which account is making the request schema: type: string example: acc_123456 securitySchemes: BearerAuth: type: http scheme: bearer description: Access token passed as a Bearer token in the Authorization header accountId: type: apiKey in: header name: ACCOUNT-ID description: Account ID required with bearer token x-refined-from: - firstpromoter-v2-affiliate-contract-documents-openapi.yml - firstpromoter-v2-contract-documents-openapi.yml