openapi: 3.0.0 info: version: '1.0.0' title: 'signup-sequencer' license: name: MIT servers: - url: http://localhost:8080 paths: /metrics: servers: - url: http://localhost:9998 get: summary: 'Returns Prometheus application metrics' responses: '200': description: 'Sample response: Details about a user by ID' content: 'application/text': example: '' default: description: Unexpected error /insertIdentity: post: summary: 'Queues an insertion of a new identity into the merkle tree' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/IdentityCommitmentWithGroup' responses: '200': description: 'Identity insert was successfully queued' content: application/json: schema: type: 'null' '400': description: 'Invalid request' content: application/json: schema: description: 'A human-readable explanation of the error condition' type: 'string' /inclusionProof: post: summary: 'Get Merkle inclusion proof' requestBody: description: 'details of the identity to get the inclusion proof for' content: 'application/json': schema: $ref: '#/components/schemas/IdentityCommitmentWithGroup' responses: '200': description: 'A Merkle inclusion proof for an already inserted commitment' content: 'application/json': schema: $ref: '#/components/schemas/InclusionProof' '202': description: 'The commitment has been queued but it is not yet included in the tree' content: 'application/json': schema: type: string enum: [ 'pending' ] '400': description: 'Invalid request' content: application/json: schema: description: 'A human-readable explanation of the error condition' type: 'string' components: schemas: IdentityCommitment: type: string pattern: '^[A-F0-9]{64}$' IdentityCommitmentWithGroup: type: object properties: groupId: type: integer format: int64 identityCommitment: $ref: '#/components/schemas/IdentityCommitment' example: groupId: 1 identityCommitment: '0000F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2F2' FieldElement: type: string pattern: '^0x[a-f0-9]{64}$' InclusionProof: type: object properties: root: { $ref: '#/components/schemas/FieldElement' } proof: type: array items: oneOf: - type: object properties: Left: { $ref: '#/components/schemas/FieldElement' } - type: object properties: Right: { $ref: '#/components/schemas/FieldElement' }