Skip to content
Snippets Groups Projects
process-objects.json 439 KiB
Newer Older
Rebecca Wheeler's avatar
Rebecca Wheeler committed
                            }
                        },
                        "examples": {
                            "unauthorized-response": {
                                "value": {
                                    "errors": [{
                                            "status": 401,
                                            "title": "Unauthorized",
                                            "detail": "Invalid OAuth authentication - InvalidAccessToken"
                                        }
                                    ]
                                }
                            }
                        }
                    }
                }
            },
            "internal-server-error": {
                "description": "An unexpected error.",
                "content": {
                    "application/vnd.api+json": {
                        "schema": {
                            "type": "object",
                            "properties": {
                                "errors": {
                                    "type": "array",
                                    "items": {
                                        "description": "An error",
                                        "type": "object",
                                        "properties": {
                                            "status": {
                                                "type": "integer",
                                                "example": 400
                                            },
                                            "title": {
                                                "type": "string",
                                                "example": "Error title"
                                            },
                                            "detail": {
                                                "type": "string",
                                                "example": "Additional details about the error"
                                            },
                                            "links": {
                                                "type": "object"
                                            },
                                            "meta": {
                                                "type": "object"
                                            },
                                            "source": {
                                                "type": "object"
                                            }
                                        }
                                    }
                                }
                            }
                        },
                        "examples": {
                            "not-found-example": {
                                "value": {
                                    "errors": [{
                                            "status": 500,
                                            "title": "Internal Server Error",
                                            "detail": "Something went wrong in the server-side."
                                        }
                                    ]
                                }
                            }
                        }
                    }
                }
            },
            "bad-request": {
                "description": "A bad request.",
                "content": {
                    "application/vnd.api+json": {
                        "schema": {
                            "type": "object",
                            "properties": {
                                "errors": {
                                    "type": "array",
                                    "items": {
                                        "description": "An error",
                                        "type": "object",
                                        "properties": {
                                            "status": {
                                                "type": "integer",
                                                "example": 400
                                            },
                                            "title": {
                                                "type": "string",
                                                "example": "Error title"
                                            },
                                            "detail": {
                                                "type": "string",
                                                "example": "Additional details about the error"
                                            },
                                            "links": {
                                                "type": "object"
                                            },
                                            "meta": {
                                                "type": "object"
                                            },
                                            "source": {
                                                "type": "object"
                                            }
                                        }
                                    }
                                }
                            }
                        },
                        "examples": {
                            "application/vnd.api+json": {
                                "value": {
                                    "errors": [{
                                            "id": null,
                                            "links": {},
                                            "meta": {},
                                            "source": {},
                                            "status": 400,
                                            "title": "Bad Request",
                                            "detail": "Invalid properties in query parameters - resource type 'people' has no attribute 'invalid'."
                                        }
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        },
        "parameters": {
            "id": {
                "name": "id",
                "description": "ID of a person. This parameter should not be manually built/concatenated, but instead be used by following the fully-formed links returned in an API response. To get a person by an ID, use query parameters to search by a specific identifier. Example: /people?filter[identifiers.name]=netId&filter[identifiers.value]=bbadger",
                "in": "path",
                "example": "100",
                "required": true,
                "schema": {
                    "type": "string",
                    "description": "An ephemeral identifier used only in the Person API to adhere to the [JSON:API specification](https://jsonapi.org/format/#document-resource-object-identification). This ID may change if a person is split into two people or two people are merged into one person. This ID is used for paginating results or following other links returned in the API response. This ID should not be stored in a consuming system. Concatenating parts of the URL to form a link is discouraged. Instead, use the fully-formed links returned in an API response.",
                    "example": "12345"
                }
            },
            "nameId": {
                "name": "nameId",
                "description": "ID of a name. This parameter should not be manually built/concatenated, but instead be used by following the fully-formed links returned in an API response.",
                "in": "path",
                "example": "101",
                "required": true,
                "schema": {
                    "type": "string",
                    "example": "12345",
                    "description": "Ephemeral ID used to adhere to the JSON:API specification. This ID should not be stored."
                }
            },
            "webhookId": {
                "name": "webhookId",
                "description": "ID of a webhook. This parameter should not be manually built/concatenated, but instead be used by following the fully-formed links returned in an API response.",
                "in": "path",
                "example": "100",
                "required": true,
                "schema": {
                    "type": "string",
                    "example": "12345",
                    "description": "Ephemeral ID used to adhere to the JSON:API specification. This ID should not be stored."
                }
            },
            "filterId": {
                "name": "filterId",
                "description": "ID of a webhook filter. This parameter should not be manually built/concatenated, but instead be used by following the fully-formed links returned in an API response.",
                "in": "path",
                "example": "100",
                "required": true,
                "schema": {
                    "type": "string",
                    "example": "12345",
                    "description": "Ephemeral ID used to adhere to the JSON:API specification. This ID should not be stored."
                }
            },
            "relationshipFilterId": {
                "name": "relationshipFilterId",
                "description": "ID of a webhook relationship filter. This parameter should not be manually built/concatenated, but instead be used by following the fully-formed links returned in an API response.",
                "in": "path",
                "example": "100",
                "required": true,
                "schema": {
                    "type": "string",
                    "example": "12345",
                    "description": "Ephemeral ID used to adhere to the JSON:API specification. This ID should not be stored."
                }
            },
            "filter": {
                "name": "filter",
                "in": "query",
                "description": "Filter results of query using the [filter query parameter family](https://jsonapi.org/recommendations/#filtering). Refer to the [Person API Documentation](/person-api/filter-query-parameter) for more information about the `filter` query param.",
                "required": false,
                "style": "deepObject",
                "explode": true,
                "schema": {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                        "attribute": {
                            "type": "string",
                            "example": "firstName"
                        }
                    }
                }
            },
            "include": {
                "name": "include",
                "in": "query",
                "description": "[include related resources](https://jsonapi.org/format/#fetching-includes). The resources to include need to be direct relationships. Nested relationships are not supported. For example, `include=jobs,identifiers` is supported but `include=person.jobs` is not supported.",
                "schema": {
                    "type": "string"
                }
            },
            "fields": {
                "name": "fields",
                "in": "query",
                "description": "Specify the list of fields you would like to return for each resource type.  For example, `fields[people]=firstName,lastName` will just return the names for people.  If you are including related resources with 'includes' you can also specify fields on those resources as well.  For example, `includes=jobs&fields[people]=jobs&fields[jobs]=title` will just return titles for jobs.  See [Sparse Fieldsets](https://jsonapi.org/format/#fetching-sparse-fieldsets) for more details.",
                "required": false,
                "style": "deepObject",
                "explode": true,
                "schema": {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                        "type": {
                            "type": "string",
                            "example": "people"
                        }
                    }
                }
            },
            "page": {
                "name": "page",
                "in": "query",
                "description": "Define options for pagination of responses. For example, `page[size]=5&page[after]=400&page[before]=800` will return a response with data about 5 people whose `id` value falls after `400` but before `800`. So `page[size]` determines the number of people resources in a response, `page[after]` is the ID of the person at the end of the previous page, `page[before]` is the ID of the person at the start of the next page.",
                "required": false,
                "style": "deepObject",
                "explode": true,
                "schema": {
                    "type": "object",
                    "properties": {
                        "size": {
                            "type": "integer",
                            "example": 50,
                            "description": "Size of page for paginated results."
                        },
                        "after": {
                            "type": "string",
                            "description": "An ephemeral identifier used only in the Person API to adhere to the [JSON:API specification](https://jsonapi.org/format/#document-resource-object-identification). This ID may change if a person is split into two people or two people are merged into one person. This ID is used for paginating results or following other links returned in the API response. This ID should not be stored in a consuming system. Concatenating parts of the URL to form a link is discouraged. Instead, use the fully-formed links returned in an API response.",
                            "example": "12345"
                        },
                        "before": {
                            "type": "string",
                            "description": "An ephemeral identifier used only in the Person API to adhere to the [JSON:API specification](https://jsonapi.org/format/#document-resource-object-identification). This ID may change if a person is split into two people or two people are merged into one person. This ID is used for paginating results or following other links returned in the API response. This ID should not be stored in a consuming system. Concatenating parts of the URL to form a link is discouraged. Instead, use the fully-formed links returned in an API response.",
                            "example": "12345"
                        }
                    }
                }
            }
        }
    }
}