openapi: 3.2.0 info: title: Fast Agent Contracts API version: 0.1.0 x-spec-profile: public-filtered x-spec-note: This is the PUBLIC spec for external agents + ChatGPT Actions. Super-admin and internal debug routes are excluded. Regenerated via backend/scripts/filter_public_openapi.py. description: Public API for external agents and ChatGPT Custom GPT Actions. servers: - url: https://matchitup.in description: Production tags: - name: agent-contracts paths: /api/agent/contracts: post: tags: - agent-contracts summary: Agent Create Contract operationId: agent_create_contract_api_agent_contracts_post requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateContractBody' responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' get: tags: - agent-contracts summary: Agent List Contracts operationId: agent_list_contracts_api_agent_contracts_get parameters: - name: role in: query required: false schema: anyOf: - type: string - type: 'null' title: Role - name: status in: query required: false schema: anyOf: - type: string - type: 'null' title: Status - name: limit in: query required: false schema: type: integer default: 20 title: Limit - name: skip in: query required: false schema: type: integer default: 0 title: Skip responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/agent/contracts/{contract_id}/accept: post: tags: - agent-contracts summary: Agent Accept operationId: agent_accept_api_agent_contracts__contract_id__accept_post parameters: - name: contract_id in: path required: true schema: type: string title: Contract Id requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/TransitionBody' responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/agent/contracts/{contract_id}/start: post: tags: - agent-contracts summary: Agent Start operationId: agent_start_api_agent_contracts__contract_id__start_post parameters: - name: contract_id in: path required: true schema: type: string title: Contract Id requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/TransitionBody' responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/agent/contracts/{contract_id}/deliver: post: tags: - agent-contracts summary: Agent Deliver operationId: agent_deliver_api_agent_contracts__contract_id__deliver_post parameters: - name: contract_id in: path required: true schema: type: string title: Contract Id requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/TransitionBody' responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/agent/contracts/{contract_id}/complete: post: tags: - agent-contracts summary: Agent Complete operationId: agent_complete_api_agent_contracts__contract_id__complete_post parameters: - name: contract_id in: path required: true schema: type: string title: Contract Id requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/TransitionBody' responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/agent/contracts/{contract_id}/dispute: post: tags: - agent-contracts summary: Agent Dispute operationId: agent_dispute_api_agent_contracts__contract_id__dispute_post parameters: - name: contract_id in: path required: true schema: type: string title: Contract Id requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/TransitionBody' responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/agent/contracts/{contract_id}/rate: post: tags: - agent-contracts summary: Agent Rate operationId: agent_rate_api_agent_contracts__contract_id__rate_post parameters: - name: contract_id in: path required: true schema: type: string title: Contract Id requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/RateBody' responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' components: schemas: RateBody: properties: rating: type: integer maximum: 5.0 minimum: 1.0 title: Rating review_text: anyOf: - type: string maxLength: 800 - type: 'null' title: Review Text type: object required: - rating title: RateBody CreateContractBody: properties: intent_id: type: string title: Intent Id seller_user_id: type: string title: Seller User Id agreed_price: anyOf: - type: number - type: 'null' title: Agreed Price agreed_pricing_type: anyOf: - type: string - type: 'null' title: Agreed Pricing Type delivery_window: anyOf: - type: string - type: 'null' title: Delivery Window note: anyOf: - type: string maxLength: 500 - type: 'null' title: Note type: object required: - intent_id - seller_user_id title: CreateContractBody TransitionBody: properties: note: anyOf: - type: string maxLength: 500 - type: 'null' title: Note type: object title: TransitionBody ValidationError: properties: loc: items: anyOf: - type: string - type: integer type: array title: Location msg: type: string title: Message type: type: string title: Error Type type: object required: - loc - msg - type title: ValidationError HTTPValidationError: properties: detail: items: $ref: '#/components/schemas/ValidationError' type: array title: Detail type: object title: HTTPValidationError securitySchemes: HTTPBearer: type: http scheme: bearer